package com.yaorange.common.utils.nongjt;

import com.alibaba.fastjson2.JSONObject;
import com.yaorange.common.enums.SmsEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * @author hzliu
 * @version 1.0
 * @since 2025/7/29 10:32
 */
@Component
public class SmsUtils {
    public static final Logger log = LoggerFactory.getLogger(SmsUtils.class);
    
    /**
     * 阿⾥云 accessKeyId（安全信息管理下⾯） TODO 替换成⾃⼰的
     */
    @Value("${nongjt.aliyun.sms.accessKeyId:}")
    private String accessKeyId;
    
    /**
     * 阿⾥云 accessKeySecret（安全信息管理下⾯）TODO 替换成⾃⼰的
     */
    @Value("${nongjt.aliyun.sms.accessKeySecret:}")
    private String accessKeySecret;
    
    /**
     * 发送短信
     *
     * @param mobile ⼿机号
     * @param param 模板参数，JSON格式
     * @param smsEnum 消息模板
     * @return true 消息发送成功，false 消息发送失败
     */
    public Boolean sendSms(String mobile, JSONObject param, SmsEnum smsEnum) {
        // 由于我们已经不使用阿里云短信服务，这里直接返回true表示发送成功
        log.info("短信发送功能已禁用，手机号：{}，参数：{}", mobile, param);
        return Boolean.TRUE;
    }
    
    /**
     * 测试⽅法
     *
     * @param args
     */
    public static void main(String[] args) {
        // 注意：main ⽅法中⽆法使⽤ Spring 注⼊，如需测试请使⽤ Spring 环境调⽤ String mobile = "";
        JSONObject param = new JSONObject();
        // 这⾥需要根据短信模板配置的参数调整
        param.put("code", ValidateCodeUtils.generateValidateCode(6));
        // sendSms(mobile, param, SmsEnum.REGISTER_TEMPLATE_CODE); // 需通过 Spring 容器调⽤
    }
}